package org.alex.samples.service;

import java.util.List;
import java.util.Map;

import org.alex.samples.model.ExamScoreVO;
import org.alex.samples.model.ExamTest;
import org.alex.samples.model.ExamTestType;
import org.alex.samples.model.ExamTestVO;
import org.alex.samples.model.PagerModel;

public interface ManageTestService {
	
	public List<ExamTestVO> findAllTestsAndSub() throws Exception;

	public ExamTestVO findByIDTestAndSub(Integer id) throws Exception;

	public void createTest(ExamTest examTest) throws Exception;
	
	public void editTest(ExamTest examTest) throws Exception; 
	
	public void deleteTest(Integer testId) throws Exception;
	
	public PagerModel<ExamTestVO> findAllByPage() throws Exception;
	
	public PagerModel<ExamTestVO> findTestBySubId(Integer id)throws Exception;
	
	/*-↓---↓---↓----↓----↓----↓----ExamTestType---↓---↓---↓----↓----↓----↓----*/

	public List<ExamTestType> findAllTestType() throws Exception; 
	
	public ExamTestType getTestTypeById(Integer id) throws Exception;
	
	/*-↓---↓---↓----↓----↓----↓----BySubject---↓---↓---↓----↓----↓----↓----*/

	public Map<Integer, List<ExamTestVO>> getTestListBySubject(Integer subId, String userId) throws Exception;

	public ExamScoreVO checkAnswerAndSaveScore(Integer subId, String id, List<Integer> answerIds,Map<String, String> testMap) throws Exception;

	

	



	



}
